import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2023-02-02
 * Time: 20:54
 */
public class Solution {
//     排序 + map
//     key 为 排过序的str
//     value 为 该变位词 对应的List
//     最后再 创建 List<List<String>>
//     new ArrayList<List<String>>(map.values);
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> map=new HashMap<>();
        for(String str: strs){
            // 创建新的字符串
            // 排过序之后作为 key
            char[] arr=str.toCharArray();
            Arrays.sort(arr);
            String key=new String(arr);
            List<String> list=map.getOrDefault(key, new ArrayList<String>());
            list.add(str);
            // value 为对应的 List
            map.put(key, list);
        }
        // 最后再创建 ArrayList<List<String>>
        return new ArrayList<List<String>>(map.values());
    }
}
